guint reorderable : 1;
guint empty_view_drop :1;
- guint ctrl_pressed : 1;
- guint shift_pressed : 1;
+ guint modify_selection_pressed : 1;
+ guint extend_selection_pressed : 1;
guint draw_focus : 1;
gtk_icon_view_set_cursor_item (icon_view, item, cursor_cell);
}
else if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE &&
- (event->state & GDK_SHIFT_MASK))
+ (event->state & GTK_EXTEND_SELECTION_MOD_MASK))
{
gtk_icon_view_unselect_all_internal (icon_view);
{
if ((icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE ||
((icon_view->priv->selection_mode == GTK_SELECTION_SINGLE) && item->selected)) &&
- (event->state & GDK_CONTROL_MASK))
+ (event->state & GTK_MODIFY_SELECTION_MOD_MASK))
{
item->selected = !item->selected;
gtk_icon_view_queue_draw_item (icon_view, item);
else
{
if (icon_view->priv->selection_mode != GTK_SELECTION_BROWSE &&
- !(event->state & GDK_CONTROL_MASK))
+ !(event->state & GTK_MODIFY_SELECTION_MOD_MASK))
{
dirty = gtk_icon_view_unselect_all_internal (icon_view);
}
if (gtk_get_current_event_state (&state))
{
- if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
- icon_view->priv->ctrl_pressed = TRUE;
- if ((state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
- icon_view->priv->shift_pressed = TRUE;
+ if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+ icon_view->priv->modify_selection_pressed = TRUE;
+ if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+ icon_view->priv->extend_selection_pressed = TRUE;
}
/* else we assume not pressed */
g_assert_not_reached ();
}
- icon_view->priv->ctrl_pressed = FALSE;
- icon_view->priv->shift_pressed = FALSE;
+ icon_view->priv->modify_selection_pressed = FALSE;
+ icon_view->priv->extend_selection_pressed = FALSE;
icon_view->priv->draw_focus = TRUE;
return;
}
- if (icon_view->priv->ctrl_pressed ||
- !icon_view->priv->shift_pressed ||
+ if (icon_view->priv->modify_selection_pressed ||
+ !icon_view->priv->extend_selection_pressed ||
!icon_view->priv->anchor_item ||
icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE)
icon_view->priv->anchor_item = item;
cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area);
gtk_icon_view_set_cursor_item (icon_view, item, cell);
- if (!icon_view->priv->ctrl_pressed &&
+ if (!icon_view->priv->modify_selection_pressed &&
icon_view->priv->selection_mode != GTK_SELECTION_NONE)
{
dirty = gtk_icon_view_unselect_all_internal (icon_view);
if (!item)
return;
- if (icon_view->priv->ctrl_pressed ||
- !icon_view->priv->shift_pressed ||
+ if (icon_view->priv->modify_selection_pressed ||
+ !icon_view->priv->extend_selection_pressed ||
!icon_view->priv->anchor_item ||
icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE)
icon_view->priv->anchor_item = item;
gtk_icon_view_set_cursor_item (icon_view, item, NULL);
- if (!icon_view->priv->ctrl_pressed &&
+ if (!icon_view->priv->modify_selection_pressed &&
icon_view->priv->selection_mode != GTK_SELECTION_NONE)
{
dirty = gtk_icon_view_unselect_all_internal (icon_view);
return;
}
- if (icon_view->priv->ctrl_pressed ||
- !icon_view->priv->shift_pressed ||
+ if (icon_view->priv->modify_selection_pressed ||
+ !icon_view->priv->extend_selection_pressed ||
!icon_view->priv->anchor_item ||
icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE)
icon_view->priv->anchor_item = item;
cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area);
gtk_icon_view_set_cursor_item (icon_view, item, cell);
- if (!icon_view->priv->ctrl_pressed &&
+ if (!icon_view->priv->modify_selection_pressed &&
icon_view->priv->selection_mode != GTK_SELECTION_NONE)
{
dirty = gtk_icon_view_unselect_all_internal (icon_view);
if (!item)
return;
- if (icon_view->priv->ctrl_pressed ||
- !icon_view->priv->shift_pressed ||
+ if (icon_view->priv->modify_selection_pressed ||
+ !icon_view->priv->extend_selection_pressed ||
!icon_view->priv->anchor_item ||
icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE)
icon_view->priv->anchor_item = item;
gtk_icon_view_set_cursor_item (icon_view, item, NULL);
- if (!icon_view->priv->ctrl_pressed &&
+ if (!icon_view->priv->modify_selection_pressed &&
icon_view->priv->selection_mode != GTK_SELECTION_NONE)
{
dirty = gtk_icon_view_unselect_all_internal (icon_view);
gint rubber_band_status;
gint rubber_band_x;
gint rubber_band_y;
- gint rubber_band_shift;
- gint rubber_band_ctrl;
+ gint rubber_band_extend;
+ gint rubber_band_modify;
GtkRBNode *rubber_band_start_node;
GtkRBTree *rubber_band_start_tree;
/* for DnD */
guint empty_view_drop : 1;
- guint ctrl_pressed : 1;
- guint shift_pressed : 1;
+ guint modify_selection_pressed : 1;
+ guint extend_selection_pressed : 1;
guint init_hadjust_value : 1;
{
GtkCellRenderer *focus_cell;
- if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
- tree_view->priv->ctrl_pressed = TRUE;
- if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
- tree_view->priv->shift_pressed = TRUE;
+ if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+ tree_view->priv->modify_selection_pressed = TRUE;
+ if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+ tree_view->priv->extend_selection_pressed = TRUE;
/* We update the focus cell here, this is also needed if the
* column does not contain an editable cell. In this case,
if (focus_cell)
gtk_tree_view_column_focus_cell (column, focus_cell);
- if (event->state & GDK_CONTROL_MASK)
+ if (event->state & GTK_MODIFY_SELECTION_MOD_MASK)
{
gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
gtk_tree_view_real_toggle_cursor_row (tree_view);
}
- else if (event->state & GDK_SHIFT_MASK)
+ else if (event->state & GTK_EXTEND_SELECTION_MOD_MASK)
{
gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
gtk_tree_view_real_select_cursor_row (tree_view, FALSE);
gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE);
}
- tree_view->priv->ctrl_pressed = FALSE;
- tree_view->priv->shift_pressed = FALSE;
+ tree_view->priv->modify_selection_pressed = FALSE;
+ tree_view->priv->extend_selection_pressed = FALSE;
}
/* the treeview may have been scrolled because of _set_cursor,
tree_view->priv->rubber_band_y = event->y + tree_view->priv->dy;
tree_view->priv->rubber_band_status = RUBBER_BAND_MAYBE_START;
- if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
- tree_view->priv->rubber_band_ctrl = TRUE;
- if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
- tree_view->priv->rubber_band_shift = TRUE;
+ if ((event->state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+ tree_view->priv->rubber_band_modify = TRUE;
+ if ((event->state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+ tree_view->priv->rubber_band_extend = TRUE;
}
}
/* Clear status variables */
tree_view->priv->rubber_band_status = RUBBER_BAND_OFF;
- tree_view->priv->rubber_band_shift = 0;
- tree_view->priv->rubber_band_ctrl = 0;
+ tree_view->priv->rubber_band_extend = FALSE;
+ tree_view->priv->rubber_band_modify = FALSE;
tree_view->priv->rubber_band_start_node = NULL;
tree_view->priv->rubber_band_start_tree = NULL;
if (select)
{
- if (tree_view->priv->rubber_band_shift)
- GTK_RBNODE_SET_FLAG (start_node, GTK_RBNODE_IS_SELECTED);
- else if (tree_view->priv->rubber_band_ctrl)
+ if (tree_view->priv->rubber_band_extend)
+ GTK_RBNODE_SET_FLAG (start_node, GTK_RBNODE_IS_SELECTED);
+ else if (tree_view->priv->rubber_band_modify)
{
/* Toggle the selection state */
if (GTK_RBNODE_FLAG_SET (start_node, GTK_RBNODE_IS_SELECTED))
else
{
/* Mirror the above */
- if (tree_view->priv->rubber_band_shift)
+ if (tree_view->priv->rubber_band_extend)
GTK_RBNODE_UNSET_FLAG (start_node, GTK_RBNODE_IS_SELECTED);
- else if (tree_view->priv->rubber_band_ctrl)
+ else if (tree_view->priv->rubber_band_modify)
{
/* Toggle the selection state */
if (GTK_RBNODE_FLAG_SET (start_node, GTK_RBNODE_IS_SELECTED))
if (gtk_get_current_event_state (&state))
{
- if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
- tree_view->priv->ctrl_pressed = TRUE;
- if ((state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
- tree_view->priv->shift_pressed = TRUE;
+ if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+ tree_view->priv->modify_selection_pressed = TRUE;
+ if ((state & GTK_EXTEND_SELECTION_MOD_MASK) == GTK_EXTEND_SELECTION_MOD_MASK)
+ tree_view->priv->extend_selection_pressed = TRUE;
}
/* else we assume not pressed */
g_assert_not_reached ();
}
- tree_view->priv->ctrl_pressed = FALSE;
- tree_view->priv->shift_pressed = FALSE;
+ tree_view->priv->modify_selection_pressed = FALSE;
+ tree_view->priv->extend_selection_pressed = FALSE;
return TRUE;
}
if (selection_count == 0
&& gtk_tree_selection_get_mode (tree_view->priv->selection) != GTK_SELECTION_NONE
- && !tree_view->priv->ctrl_pressed
+ && !tree_view->priv->modify_selection_pressed
&& selectable)
{
/* Don't move the cursor, but just select the current node */
{
gtk_tree_view_clamp_node_visible (tree_view, cursor_tree, cursor_node);
- if (!tree_view->priv->shift_pressed)
+ if (!tree_view->priv->extend_selection_pressed)
{
if (! gtk_widget_keynav_failed (GTK_WIDGET (tree_view),
count < 0 ?
return FALSE;
}
- if (!tree_view->priv->shift_pressed && start_editing &&
+ if (!tree_view->priv->extend_selection_pressed && start_editing &&
tree_view->priv->focus_column)
{
if (gtk_tree_view_start_editing (tree_view, cursor_path, FALSE))
}
}
- if (tree_view->priv->ctrl_pressed)
+ if (tree_view->priv->modify_selection_pressed)
mode |= GTK_TREE_SELECT_MODE_TOGGLE;
- if (tree_view->priv->shift_pressed)
+ if (tree_view->priv->extend_selection_pressed)
mode |= GTK_TREE_SELECT_MODE_EXTEND;
_gtk_tree_selection_internal_select_node (tree_view->priv->selection,
gtk_widget_grab_focus (GTK_WIDGET (tree_view));
_gtk_tree_view_queue_draw_node (tree_view, cursor_tree, cursor_node, NULL);
- if (!tree_view->priv->shift_pressed)
+ if (!tree_view->priv->extend_selection_pressed)
gtk_tree_view_row_activated (tree_view, cursor_path,
tree_view->priv->focus_column);
if (gtk_get_current_event_state (&state))
{
- if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
- tree_view->priv->ctrl_pressed = TRUE;
+ if ((state & GTK_MODIFY_SELECTION_MOD_MASK) == GTK_MODIFY_SELECTION_MOD_MASK)
+ tree_view->priv->modify_selection_pressed = TRUE;
}
gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, FALSE);
gtk_tree_view_queue_draw_path (tree_view, cursor_path, NULL);
gtk_tree_path_free (cursor_path);
- tree_view->priv->ctrl_pressed = FALSE;
+ tree_view->priv->modify_selection_pressed = FALSE;
return TRUE;
}
GtkRBTree *new_tree = NULL;
GtkRBNode *new_node = NULL;
- if (clear_and_select && !tree_view->priv->ctrl_pressed)
+ if (clear_and_select && !tree_view->priv->modify_selection_pressed)
{
GtkTreeSelectMode mode = 0;
- if (tree_view->priv->shift_pressed)
+ if (tree_view->priv->extend_selection_pressed)
mode |= GTK_TREE_SELECT_MODE_EXTEND;
_gtk_tree_selection_internal_select_node (tree_view->priv->selection,